package com.itany.corejava.code10_io.file;

import java.io.File;

/**
 * @author MissChen
 * @date 2024年03月08日 14:51
 */
public class Test06_递归操作 {
    public static void main(String[] args) {
        File file=new File("E:\\itany");
        try {
            display(file);
        } catch (FileNotExistException e) {
            e.printStackTrace();
        }

    }
    public static void display(File file) throws FileNotExistException {
        if(!file.exists()){
            throw new FileNotExistException("该目录不存在");
        }

        //判断当前文件是否是目录
        if(file.isDirectory()){
            //展示当前目录中的所有的文件与子目录
            File[] files=file.listFiles();
            // 遍历files数组
            for(File f:files){
                if(f.isFile()){
                    //如果是文件，展示该文件的绝对路径
                    System.out.println(f.getAbsoluteFile());
                }else{
                    display(f);//如果不是文件，说明当前是一个目录，递归操作
                }
            }
        }else{
            //如果是文件，则直接输出
            System.out.println(file.getAbsoluteFile());
        }
    }
}
